레딧 가보니까 다들 진작에 AWS CDK로 전환했더라..
aws-cli v2가 지원 종료가 되면서 Serverless Framework v3 생태계에 많은 불안감을 조성했었는데 이때 다들 넘어갔나보다.
aws-cli v2는 모놀리식 구조이고 aws-cli v3는 MSA 구조. 굉장히 잘게 나누어져있어서 s3를 쓰고 싶으면 @aws-sdk/client-s3
를 설치해야한다.
게다가 BREAKING CHANGES가 굉장히 많아가지고 마이그레이션이 쉽지도 않다.
aws-cli v2 기반으로 만들어진 Serverless Framework v3는 당연히 걱정이 되겠지.. 많은 인력이 갈렸을거고, 그래서 유료화 선언을 한걸까?
https://github.com/serverless/serverless/discussions/11750
대안:
AWS CDK, AWS SAM, Terraform, Pulumi, OpenTofu
Pulumi도 유료다. 으악!
세상에 어떤 오픈소스가 갑작스레 유료화 선언을 하고 돈을 받아먹나??
그러면 v3까지 기여한 사람들의 노고는 어떻게 달래주는 것이지?
참으로 이해할 수 없다.
CSP 벤더 종속성이 강하게 생기더라도 AWS CDK로 넘어가는 수 밖에는 없겠다 이거.
신뢰할 수 없는 기업에 내 소스코드를 넘기고 싶지도 않다.
https://aws.amazon.com/ko/blogs/devops/how-to-import-existing-resources-into-aws-cdk-stacks/
홀리 쉣. AWS CDK에 이미 존재하는 CloudFormation Stack을 불러오는 기능이 있잖아?
마이그레이션 생각 외로 크게 안어려울지도??
Serverless Framework가 AWS CDK 기반으로 동작한다는 사실에 감사함을 느끼지 않을 수가 없다.
따봉 Serverless Framework 야 고마워!
추후 AWS Support 받을때를 생각해서라도, AWS CDK로 넘어가는게 나을 것 같고.
AWS에서 벗어날 일도 없을 것 같아서 그냥 강결합 구조로 만들어버려도 될 것 같다.
https://velog.io/@ninthsun91/AWS-AWS-CDK를-이용한-Lambda함수-작성과-배포
오오. 이런 식으로도 람다 테스트를 할 수 있구나?
import { LambdaClient, InvokeCommand } from '@aws-sdk/client-lambda';
const imageQueueTest = async () => {
const client = new LambdaClient({
region: 'ap-northeast-2',
});
const command = new InvokeCommand({
FunctionName: 'FuncName',
LogType: 'Tail',
});
const { Payload, LogResult } = await client.send(command);
if (Payload === undefined || LogResult === undefined) {
throw new Error();
}
const result = Buffer.from(Payload).toString();
const logs = Buffer.from(LogResult, 'base64').toString();
return {
result,
logs,
}
}
진짜 wrangler라는 어마무시한 툴을 공식으로 지원하는 Cloudflare가 새삼 대단하게 느껴진다!
Cloudflare 주식 풀매수 가즈아